package com.ruoyi.bizsys.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;

/**
 * 客户信息对象 customer_info
 *
 * @author african-loan
 * @date 2021-12-30
 */

@Data
public class CustomerInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;


    /**
     * PK
     */

    @Excel(name = "${comment}", readConverterExp = "PK")
    @TableId(type = IdType.AUTO)
    private Long id;


    /**
     * 用户ID
     */

    @Excel(name = "用户ID")
    private String userId;


    /**
     * 客户号
     */

    @Excel(name = "客户号")
    private String custNo;


    /**
     * 月收入
     */

    @Excel(name = "月收入")
    private String monthlyIncome;


    /**
     * 邮箱
     */

    @Excel(name = "邮箱")
    private String email;


    /**
     * 工作职称
     */

    @Excel(name = "工作职称")
    private String jobTitle;


    /**
     * 行业
     */

    @Excel(name = "行业")
    private String industry;


    /**
     * 婚姻状态
     */

    @Excel(name = "婚姻状态")
    private String maritalStatus;


    /**
     * 工作职称-其他
     */

    @Excel(name = "工作职称-其他")
    private String jobTitleOther;


    /**
     * 学历
     */

    @Excel(name = "学历")
    private String degree;


    /**
     * 职业
     */

    @Excel(name = "职业")
    private String occupation;


    /**
     * 联系人姓名
     */

    @Excel(name = "联系人姓名")
    private String relateName;


    /**
     * 复工时间
     */

    @Excel(name = "复工时间")
    private String resumptionDate;


    /**
     * 联系人手机号码
     */

    @Excel(name = "联系人手机号码")
    private String relatePhone;


    /**
     * 发薪时间
     */

    @Excel(name = "发薪时间")
    private String salaryDate;


    /**
     * 关系
     */

    @Excel(name = "关系")
    private String relation;


    /**
     * 联系人2
     */

    @Excel(name = "联系人2")
    private String relateName2;


    /**
     * 工作地
     */

    @Excel(name = "工作地")
    private String workingAddress;


    /**
     * 联系人手机号码2
     */

    @Excel(name = "联系人手机号码2")
    private String relatePhone2;


    /**
     * 工作地街道
     */

    @Excel(name = "工作地街道")
    private String street;


    /**
     * 居住地
     */

    @Excel(name = "居住地")
    private String stateOfResidence;


    /**
     * 联系人关系2
     */

    @Excel(name = "联系人关系2")
    private String relation2;


    /**
     * 孩子个数
     */

    @Excel(name = "孩子个数")
    private Integer childrenNumber;


    /**
     * 学历更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "学历更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date degreeUpdated;


    /**
     * 职业更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "职业更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date occupationUpdated;


    /**
     * 宗教
     */

    @Excel(name = "宗教")
    private String religion;


    /**
     * 联系人更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "联系人更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date relateUpdated;


    /**
     * 母语
     */

    @Excel(name = "母语")
    private String nativeLanguage;


    /**
     * 测算提额
     */

    @Excel(name = "测算提额")
    private String preLine;


    /**
     * 职业-其他
     */

    @Excel(name = "职业-其他")
    private String occupationOther;


    /**
     * 模型评级
     */

    @Excel(name = "模型评级")
    private String modelLevel;


    /**
     * 征信有效期(天数)
     */

    @Excel(name = "征信有效期(天数)")
    private String expiryDate;

    /**
     * 信用评级
     */
    @Excel(name = "信用评级")
    private String creditRating;

    /**
     * 可主动发起提额
     */
    @Excel(name = "可主动发起提额")
    private String promotion;

    /**
     * 联系人姓名
     */

    @Excel(name = "联系人姓名")
    @NotBlank(message = "relateName cannot be null")
    private String replenishRelateName;


    /**
     * 联系人手机号码
     */

    @Excel(name = "联系人手机号码")
    @NotBlank(message = "relatePhone cannot be null")
    private String replenishRelatePhone;


    /**
     * 关系
     */

    @Excel(name = "关系")
    @NotBlank(message = "relation cannot be null")
    private String replenishRelation;

    /**
     * 状态
     */

    @Excel(name = "状态")
    private String state;


    /**
     * 备注
     */

    @Excel(name = "备注")
    private String remark;


    /**
     * 创建者
     */

    @Excel(name = "创建者")
    private String createBy;


    /**
     * 创建时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    /**
     * 更新者
     */

    @Excel(name = "更新者")
    private String updateBy;


    /**
     * 更新时间
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    private String creditModelLevel;

    private Integer needBindCardNum;


}